Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sticky support in Query block #26279

Merged
merged 5 commits into from
Oct 27, 2020
Merged

Conversation

ntsekouras
Copy link
Contributor

@ntsekouras ntsekouras commented Oct 19, 2020

Description

Part of: #24934

This PR adds sticky support in the Query block. There are three options:

  • Show all posts
  • Include sticky
  • Exclude sticky

Reference: https://developer.wordpress.org/rest-api/reference/posts/#arguments

Another not related thing this PR changes, is some whitespaces differences that occurred during the regeneration of fixtures. The regeneration tool uses spaces and there were some handwritten with tabs.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@github-actions
Copy link

github-actions bot commented Oct 19, 2020

Size Change: +189 B (0%)

Total Size: 1.2 MB

Filename Size Change
build/block-library/index.js 146 kB +189 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.53 kB 0 B
build/api-fetch/index.js 3.34 kB 0 B
build/autop/index.js 2.73 kB 0 B
build/blob/index.js 664 B 0 B
build/block-directory/index.js 8.58 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/index.js 130 kB 0 B
build/block-editor/style-rtl.css 11 kB 0 B
build/block-editor/style.css 11 kB 0 B
build/block-library/editor-rtl.css 8.93 kB 0 B
build/block-library/editor.css 8.93 kB 0 B
build/block-library/style-rtl.css 7.75 kB 0 B
build/block-library/style.css 7.75 kB 0 B
build/block-library/theme-rtl.css 741 B 0 B
build/block-library/theme.css 741 B 0 B
build/block-serialization-default-parser/index.js 1.78 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 47.6 kB 0 B
build/components/index.js 172 kB 0 B
build/components/style-rtl.css 15.3 kB 0 B
build/components/style.css 15.3 kB 0 B
build/compose/index.js 9.62 kB 0 B
build/core-data/index.js 12.1 kB 0 B
build/data-controls/index.js 679 B 0 B
build/data/index.js 8.61 kB 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 769 B 0 B
build/dom-ready/index.js 571 B 0 B
build/dom/index.js 4.42 kB 0 B
build/edit-navigation/index.js 10.7 kB 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.37 kB 0 B
build/edit-post/style.css 6.35 kB 0 B
build/edit-site/index.js 22.2 kB 0 B
build/edit-site/style-rtl.css 3.79 kB 0 B
build/edit-site/style.css 3.79 kB 0 B
build/edit-widgets/index.js 26.6 kB 0 B
build/edit-widgets/style-rtl.css 3.09 kB 0 B
build/edit-widgets/style.css 3.09 kB 0 B
build/editor/editor-styles-rtl.css 480 B 0 B
build/editor/editor-styles.css 482 B 0 B
build/editor/index.js 42.6 kB 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.84 kB 0 B
build/element/index.js 4.44 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 7.47 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 1.74 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 3.55 kB 0 B
build/is-shallow-equal/index.js 712 B 0 B
build/keyboard-shortcuts/index.js 2.38 kB 0 B
build/keycodes/index.js 1.84 kB 0 B
build/list-reusable-blocks/index.js 3.01 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.11 kB 0 B
build/notices/index.js 1.69 kB 0 B
build/nux/index.js 3.26 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.44 kB 0 B
build/primitives/index.js 1.35 kB 0 B
build/priority-queue/index.js 790 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/reusable-blocks/index.js 3.06 kB 0 B
build/rich-text/index.js 13 kB 0 B
build/server-side-render/index.js 2.6 kB 0 B
build/shortcode/index.js 1.69 kB 0 B
build/token-list/index.js 1.24 kB 0 B
build/url/index.js 4.05 kB 0 B
build/viewport/index.js 1.74 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@mariohamann
Copy link

As described over here there are three options:

  • /wp-json/wp/v2/posts → show sticky and non-sticky posts
  • /wp-json/wp/v2/posts?sticky=true → show only sticky posts
  • /wp-json/wp/v2/posts?sticky=false → show only non-sticky posts

(Locally tested.)

The sticky option itself is a boolean – but using the option at all is another option, therefore we have 3 options and it’s definetely needed. If one wants to show “only sticky posts” in one Query Block, you need the option to exclude sticky posts in another Query Block to prevent duplicates.

@ntsekouras
Copy link
Contributor Author

The sticky option itself is a boolean – but using the option at all is another option, therefore we have 3 options

Hey @mariohamann - thanks for pointing this out! I pushed changes to handle all cases.

@ntsekouras ntsekouras changed the title Add/sticky support in query Add sticky support in Query block Oct 20, 2020
@scruffian
Copy link
Contributor

I wonder if a better label for the first option would be "include sticky posts"?
Screenshot 2020-10-20 at 15 17 01

@mariohamann
Copy link

mariohamann commented Oct 20, 2020

@scruffian The naming was my proposal, but I hadn't the label in mind when thinking about it (only thought about the options). In fact, you are absolutely right. What do you think about the following proposals to make it shorter and – in my opinion – more clear?

Sticky posts:
- Include
- Exclude
- Only

OR

Sticky posts:
- Include
- Only
- Exclude

@scruffian
Copy link
Contributor

I like both. I'd put Only last as its the least likely to be used...

@mariohamann
Copy link

@ntsekouras 👍🏻 Thanks for relabeling once more!

@ntsekouras ntsekouras force-pushed the add/sticky-support-in-query branch 4 times, most recently from b62573d to 34f5966 Compare October 23, 2020 06:45
@ntsekouras ntsekouras requested review from mapk and draganescu October 23, 2020 06:45
@ntsekouras ntsekouras force-pushed the add/sticky-support-in-query branch 2 times, most recently from 96d2107 to f58ed4d Compare October 26, 2020 15:32
@ntsekouras ntsekouras force-pushed the add/sticky-support-in-query branch from f58ed4d to 84e3886 Compare October 27, 2020 10:35
@ntsekouras ntsekouras merged commit 38de844 into master Oct 27, 2020
@ntsekouras ntsekouras deleted the add/sticky-support-in-query branch October 27, 2020 12:28
@github-actions github-actions bot added this to the Gutenberg 9.3 milestone Oct 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Query Loop Affects the Query Loop Block
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants